import request from '../../utils/request'

// 手指起始坐标
let startY = 0
// 手指移动实时坐标
let moveY = 0
// 手指移动的距离
let moveDistance = 0

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 移动的距离
    coverTransform: 'translateY(0)',
    // 过渡效果
    coverTransition: '',
    // 用户信息
    userInfo: {},
    // 最近播放记录
    recentPlayList: []
  },

  // 手指点击事件
  handleTouchStart(event){
    // 清除之前的过渡效果
    this.setData({
      coverTransition: ''
    })

    // 获取手指起始坐标
    // touches 多根手指时取第一根手指
    startY = event.touches[0].clientY
  },
  // 手指移动事件
  handleTouchMove(event){
    moveY = event.touches[0].clientY
    // 计算手指移动的距离
    moveDistance = moveY - startY

    // 不能向上，只能向下
    if(moveDistance < 0){
      return
    }
    // 向下的临界点为 80
    if(moveDistance >= 80){
      moveDistance = 80
    }
    // 控制 cover 移动,更新 coverTransform 的状态数据
    this.setData({
      coverTransform: `translateY(${moveDistance}rpx)`
    })
  },
  // 手指松开事件
  handleTouchEnd(){
    this.setData({
      coverTransform: 'translateY(0)',
      coverTransition: 'transform 1s linear'
    })
  },
  // 跳转至 Login 页面
  toLogin(){
    // 判断用户是否已经登录
    if(this.data.userInfo.nickname){
      return
    }
    wx.navigateTo({
      url: '/pages/login/login',
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 读取本地用户的信息
    const userInfo = wx.getStorageSync('userInfo')
    // 用户登录
    if(userInfo){
      this.setData({
        userInfo
      })
      // 获取用户的播放记录
      this.getRecentPlayData(this.data.userInfo.userId)
    }
  },
  async getRecentPlayData(userId){
    const result = await request('/user/record',{uid: userId,type: 0})
    // 手动添加一个 id（数据没返回 id）
    let index = 0
    const recentPlayList = result.allData.slice(0, 10).map(item => {
      item.id = index ++
      return item
    })
    this.setData({
      recentPlayList
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})